package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;

/**
 * Created by WF on 2020/10/27 10:48
 */
@Service
@Transactional
public class FriendService {

    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFriendDao noFriendDao;
    //1.添加好友
    public int addFriend(String userid, String friendid) {
        //1.1)查询此用户及其好友信息是否在数据库存在
        int count = friendDao.selectCount(userid,friendid);
        //1.2)如果存在，就返回0
        if(count > 0) return 0;

        //1.3)开始添加好友
        Friend friend = new Friend(userid,friendid);
        friend.setIslike("0");      //第一次添加时：isLike=0
        friendDao.save(friend);

        //1.4)判断是否有对方也添加了自己为好友
        count = friendDao.selectCount(friendid,userid);
        if(count > 0){  //代表在好友表中对方也添加了自己为好友
            friendDao.updateIsLike("1",userid,friendid);
            friendDao.updateIsLike("1",friendid,userid);
        }
        return 1;
    }

    //2.删除好友
    public void deleteFriend(String id, String friendid) {
        //2.1)删除好友
        friendDao.deleteFriend(id,friendid);
        //2.2)将对方中的islike改为0
        friendDao.updateIsLike("0",friendid,id);
        //2.3)在非好友表中添加记录
        noFriendDao.save(new NoFriend(id,friendid));
    }
}
